// 首页
var app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 标记点
    markers: [{
      iconPath: "/images/marker.png",
      id: 0,
      latitude: 39.0853,
      longitude: 117.19938,
      width: 25,
      height: 25
    }],
    //缩放包含的点位
    points:[],
    // 当前的位置经纬度
    longitude: "",
    latitude: "",
    //点击的信息
    ifShow: false,
    //分页
    page: 1,
    //分页显示的数量
    listNum: 20,
    //地图的初始层级
    scale:"",
    //点击的站点
    site:"",
    time: "",
    device_qrcode_id:""
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var device_qrcode_id = options.device_qrcode_id || wx.getStorageSync('code');
    console.log(device_qrcode_id)
    if (device_qrcode_id) {
      this.setData({
        device_qrcode_id: device_qrcode_id
      })
      wx.setStorageSync("code", device_qrcode_id);
      wx.navigateTo({
        url: '/use/sure/sure',
      })
    }
    //获取当前位置
    wx.getLocation({
      type: 'wgs84',
      altitude: true,
      success: function (res) {
        // console.log(res)
        this.setData({
          longitude: res.longitude,
          latitude: res.latitude
        })
        //获取设备列表
        this.getDevie(1, this.data.latitude, this.data.longitude);
        // this.mapCtx.moveToLocation()
      }.bind(this),
      fail: function (res) { },
      complete: function (res) { },
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    this.mapCtx = wx.createMapContext('map');
    //获取当前地图的层级
    // this.mapCtx.getScale({
    //   success: function (res) {
    //     var scale = +res.scale;
    //     console.log(scale)
    //     this.setData({
    //       scale: scale
    //     })
    //   }.bind(this)
    // })
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    app.getUserInfoFun();
    var that = this;    
    wx.request({
      url: app.globalData.globalUrl + 'api/about/index',
      header: {
        "Content-Type": "application/json",
        token: "57a8b59fa24ce14c093ab201ac505df7"
      },
      method: "GET",
      success: function (res) {
        var data = res.data.data[0];
        that.setData(data)
      }
    })
    this.mapCtx = wx.createMapContext('map');
    this.mapCtx.moveToLocation()
    //获取当前位置
    wx.getLocation({
      type: 'wgs84',
      altitude: true,
      success: function (res) {
        // console.log(res)
        this.setData({
          longitude: res.longitude,
          latitude: res.latitude
        })
        //获取设备列表
        this.getDevie(1, this.data.latitude, this.data.longitude);
        // this.mapCtx.moveToLocation()
      }.bind(this),
      fail: function (res) { },
      complete: function (res) { },
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
  
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    return {
      title:"欢迎体验橙子智能洗车"
    }
  },
  // 点击标记点
  markertap: function(e) {
    var  that = this;
    var tapId = e.markerId;
    if(tapId == "cwl") {
      return;
    }
    var markers = this.data.markers;
    console.log(this.data.markers)
    markers.map(function(val){
      if(val.id === tapId){
        val.iconPath = '/images/chose.png';
        that.setData({
          site:val
        })
      } else{
        if(val.id !== "cwl") {
          val.iconPath = '/images/marker.png'
        }
      }
    })
    this.setData({
      markers: markers,
      ifShow: true
    })
  },
  // 查看导航
  load: function(){
    var site = this.data.site;
    var latitude = +site.latitude;
    var longitude = +site.longitude;
    wx.openLocation({
      latitude: latitude,
      longitude: longitude,
      scale: 28,
      name: site.title,
      address: site.address
    })
  },
  // 查看排队视频
  video: function () {
    var site = this.data.site;
    wx.navigateTo({
      url: '/pages/video/video?site=' + JSON.stringify(site)
    })
  },
  // 扫码点击洗车
  useApp: function() {
    var that = this;
    wx.scanCode({
      success: function(e){
        console.log(e)
        var path = e.path ? e.path: e.result;
        var option = '';
        var options = '';
        var device_qrcode_id = "";
        if (path) {
          option = path.split('?')[1];
          if (option && option !== '') {
            options = option.split('&');
            var len = options.length;
            for (var i = 0; i < len; i++) {
              if (options[i].startsWith('scene')) {
                device_qrcode_id = decodeURIComponent(options[i].split('=')[1]);
                device_qrcode_id = device_qrcode_id.split(',')[1];
              }
            }
          } else {
            device_qrcode_id = path;
          }
        }
        wx.setStorageSync("code", device_qrcode_id);
        if (device_qrcode_id && device_qrcode_id !== '') {
          wx.navigateTo({
            url: '/use/sure/sure',
          })
        } else {
          wx.showToast({
            title: '二维码有误！',
            icon: "none"
          })
        }
      },
      fail:function(e){
        wx.showToast({
          title: e.errMsg,
          icon:"none"
        })
      }
    })
  },
  /**
   * 个人中心
   */
  people: function() {
    wx.navigateTo({
      url: '/person/main/main',
    })
  },
  // /**
  //  * 客服
  //  */
  // service: function(){
  //   wx.navigateTo({
  //     url: '',
  //   })
  // },
  /**
   * 将地图中心移动至当前位置
   */
  move: function(){
    this.mapCtx.moveToLocation()
  },
  /**
   * 顶部的活动跳转
   */
  card: function(){
    wx.navigateTo({
      url: '/mine/card/card?first=true',
      // url: '/use/work/work',
    })
  },
  /**
   * 获取设备列表,传入经纬度
   */
  getDevie: function (page, latitude, longitude){
    var that = this;
    // var latitude = this.data.latitude;
    // var longitude = this.data.longitude;
    var listNum = this.data.listNum;
    var params = {
      pagenum: page,
      listNum: listNum,
      lat: latitude,
      lon: longitude
    }
    wx.request({
      url: app.globalData.globalUrl + "api/device/getDevice",
      header: {
        "Content-Type": "application/x-www-form-urlencoded"
      },
      method: "POST",
      data: params,
      success: res => {
        var e = res.data;
        if (e.code == 200) {
          if (e.data.list == 0) {
            wx.showToast({
              title: '附近暂无其他设备点',
              icon: "none"
            })
          } else {
            var markers = that.data.markers;
            //新的标记点添加进去
            e.data.list.map(function (val) {
              val.iconPath = "/images/marker.png";
              val.id = val.device_id;
              val.latitude = +val.lat;
              val.longitude = +val.lon;
              val.width = 25;
              val.height = 25;
              // markers.push(val);
            })
            var item = {};
            item.iconPath = "/images/map.png";
            item.id = "cwl";
            item.latitude = latitude;
            item.longitude = longitude;
            item.width = 25;
            item.height = 25;
            // e.data.list.push(item);
            that.setData({
              markers: e.data.list
            })
          }
        }
      }
    });
    // app.getRequest("api/device/getDevice",params,function(e){
    //   if(e.code == 200){
    //     if(e.data.list == 0) {
    //       wx.showToast({
    //         title: '附近暂无其他设备点',
    //         icon: "none"
    //       })
    //     } else {
    //       var markers = that.data.markers;
    //       //新的标记点添加进去
    //       e.data.list.map(function(val){
    //         val.iconPath = "/images/marker.png";
    //         val.id = val.device_id;
    //         val.latitude = +val.lat;
    //         val.longitude = +val.lon;
    //         val.width = 25;
    //         val.height = 25;
    //         // markers.push(val);
    //       })
    //       that.setData({
    //         markers: e.data.list
    //       })
    //     }
    //   }
    // })
  },
  //拖动，缩放操作地图
  mapChange: function(e){
    var that = this;
    // //缩放显示所有的标记点
    // this.mapCtx.includePoints({
    // }),
    //获取当前的地图层级
   
    // var startScale = this.data.scale;
    // var page = this.data.page;
    // this.mapCtx.getScale({
    //   success: function(res){
    //     var scale = +res.scale;
    //     var num = startScale - scale;
    //     if(num > 0){
    //       that.setData({
    //         scale: scale
    //       })
    //       page = +page + 1
    //       that.getDevie(page)
    //     }
    //   }
    // });
    
    //获取当前地图的中心点
    this.mapCtx.getCenterLocation({
      success:function(res){
        var latitude = res.latitude;
        var longitude = res.longitude;
        console.log("1");
        var markers = that.data.markers;
        var length = markers.length;
        // if (latitude != markers[length - 1].latitude || longitude != markers[length - 1].longitude) {
        //   that.getDevie(1, latitude, longitude);
        // }
        if(that.data.time != "") {
          clearTimeout(that.data.time);
        }
        var time = setTimeout(function(){
          that.getDevie(1, latitude, longitude)
        },300)
        that.setData({
          time: time
        })
        // that.mapCtx.translateMarker({
        //   markerId: "cwl",
        //   autoRotate: true,
        //   duration: 1000,
        //   destination: {
        //     latitude: latitude,
        //     longitude: longitude
        //   }
        // }) 
      }
    })

  }
})